package main

import (
	"fmt"
	"strconv"
)

/**
执行用时：8 ms, 在所有 Go 提交中击败了37.07%的用户
内存消耗：7.3 MB, 在所有 Go 提交中击败了38.27%的用户
 */
func countAndSay(n int) string {

	s := "1"
	for i := 0; i < n - 1; i++ {
		t := ""
		for j := 0; j < len(s); {
			k := j + 1
			for k < len(s) && s[k] == s[j] { k++ }
			t += strconv.Itoa(k - j) + s[j:j+1]
			j = k
		}
		s = t
	}
	return s
}

func main() {

	fmt.Println(countAndSay(5))  // 111221
}
